package rmhc.api.vk 
{
	import rmhc.api.ApiWrapper;
	import rmhc.api.dataflow.AlbumInfo;
	import rmhc.api.tasks.IGetAlbums;
	import rmhc.gui.customTrace;
	import rmhc.gui.SupplyFunctions;
	/**
	 * ...
	 * @author mick
	 */
	public class GetAlbumsTask extends VkApiTask implements IGetAlbums
	{
		private var albums:Vector.<AlbumInfo>;
		/**
		 * 
		 * @param	wrapper ApiWrapper
		 * @param	uid ID пользователя, которому принадлежат альбомы. По умолчанию – ID текущего пользователя.
		 * @param	gid ID группы, которой принадлежат альбомы.
		 * @param	aids перечисленные через запятую ID альбомов.
		 */
		public function GetAlbumsTask(wrapper:ApiWrapper ,uid:String = null, gid:String = null, aids:String = null)
		{
			var params:Object = {};
			if (uid != null)
				params.uid = uid;
			if (gid != null)
				params.gid = gid;
			if (aids != null)
				params.aids = aids;
			super( wrapper , 'photos.getAlbums' , params);
		}
		override public function parseData(result:Object):void 
		{
			//customTrace("GetAlbumsTask:parseData:" +SupplyFunctions.objectToString(result));
			albums = new Vector.<AlbumInfo>();
			for (var i:int = 0; i < result.length; i++) 
			{
				albums.push(parseAlbumInfo(result[i]));
			}
			onComplete();
		}
		public function getAlbums():Vector.<AlbumInfo> {
			if (!albums)
				throw(new Error("Error in GetAlbumsTask:getAlbums. albums  не готов."));
			return albums;
		}
	}

}